// src/main.js
import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'
import router from './router/index.js'

// 创建Vue应用实例
const app = createApp(App)
app.use(router)

// 配置axios全局设置
const api = axios.create({
  baseURL: 'http://localhost:5000/api', // 后端API地址
  timeout: 10000, // 请求超时时间
  headers: {
    'Content-Type': 'application/json'
  }
})

// 将axios实例挂载到全局属性
app.config.globalProperties.$api = api

// 全局错误处理
app.config.errorHandler = (err, instance, info) => {
  console.error('Global error:', err)
  alert(`发生错误: ${err.message}`)
}

// 挂载应用到DOM
app.mount('#app')

/**************** 可选扩展配置 ****************/
// 1. 引入路由配置（需先安装vue-router）
/*
import router from './router'
app.use(router)
*/

// 2. 引入状态管理（需先安装pinia）
/*
import { createPinia } from 'pinia'
app.use(createPinia())
*/

// 3. 引入UI组件库（以Element Plus为例）
/*
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
app.use(ElementPlus)
*/

// 4. 全局过滤器示例
/*
app.config.globalProperties.$filters = {
  formatDate(value) {
    return new Date(value).toLocaleString()
  }
}
*/